Section: New Results
Static Analysis
Participant : Sergueï Lenglet.
Static Analysis for Control Operators
Control operators, such as call/cc in Scheme or SML, allow programs to have access and manipulate their execution context. We study the behavioral theory of the -calculus, an extension of the -calculus with a control feature similar to call/cc. In [6] , we define an applicative bisimilarity for the -calculus, demonstrating the differences in the definitions between call-by-name and call-by-value. We give equivalence examples to illustrate how our relations can be used; in particular, we prove David and Py's counter-example, which cannot be proved with the preexisting bisimilarities for the -calculus. The proofs are in the accompanying research report [8] , where we also define environmental bisimulations for the calculus.
Polymorphism and Higher-order Functions for XML
In [7] , we define a calculus with higher-order polymorphic functions, recursive types with arrow and product type constructors and set-theoretic type connectives (union, intersection, and negation). We study the explicitly-typed version of the calculus in which type instantiation is driven by explicit instantiation annotations. In particular, we define an explicitly-typed -calculus with intersection types and an efficient evaluation model for it. The work presented in this article provides the theoretical foundations needed to design and implement higher-order polymorphic functional languages for semi-structured data.